package com.sora.pipeline.domain.dto;

import jakarta.validation.constraints.*;
import lombok.Data;

import java.time.LocalDateTime;
import java.util.List;

/**
 * 任务完成请求DTO
 * 
 * @author system
 * @since 2025-01-20
 */
@Data
public class TaskCompleteRequest {
    
    /**
     * 完成时间
     */
    @NotNull(message = "完成时间不能为空")
    private LocalDateTime completionTime;
    
    /**
     * 完成备注
     */
    @Size(max = 500, message = "完成备注长度不能超过500字符")
    private String remark;
    
    /**
     * 附件列表
     */
    private List<AttachmentInfo> attachments;
    
    /**
     * 附件信息
     */
    @Data
    public static class AttachmentInfo {
        /**
         * 附件类型
         */
        private String type;
        
        /**
         * 附件URL
         */
        private String url;
        
        /**
         * 附件名称
         */
        private String name;
    }
}
